package com.hmy.infrastructure.service.signature.dto;

import com.hmy.ccp.common.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author seven.qi 齐胜南
 * @version 1.0
 * @description
 * @date 2024/3/16 14:00
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FileFieldPositionDto extends BaseRequest {
    /**
     * 定位模式：
     * pixel: 像素值，计算方法参考文档页面坐标定位计算方法。
     * keyword: 关键字定位。
     * 注意：
     * 1)当设置pixel模式且为骑缝章时，positionY不能为空。
     * 2)当设置pixel模式且为非骑缝章时，positionPageNo、positionX和positionY不能为空。
     * 3)当设置keyword模式时，positionKeyword不能为空。
     */
    private String positionMode;
    /**
     * 定位页码。首页从1开始。
     */
    private Integer positionPageNo;
    /**
     * 中心点定位横向坐标。
     * 该参数对骑缝签章无效，因为骑缝章只在Y坐标上。
     * 注意：
     * 1)该字段的值为数字【整数或者小数】。
     */
    private String positionX;
    /**
     * 中心点定位纵向坐标。
     * 注意：
     * 1)该字段的值为数字【整数或者小数】。
     */
    private String positionY;
    /**
     * 关键字定位，长度最大50个字符。系统将自动匹配关键字，将真实坐标定位在关键字的中心点。如该关键字匹配出多个区域位置时，将为各区域位置动态生成多个fieldId (生成规则：在原fieldId后拼接后缀"_n"，n为自增数字)。
     * 注意：
     * 1. 该参数只在创作模板或创建任务环节设定控件时才使用，而从模板和签署任务中读取的控件将总是有明确的位置。
     * 2. 如果关键字动态生成了多个位置，参与方要关联该关键字得多个位置时，需要通过fieldName来关联。
     */
    private String positionKeyword;
    /**
     * 关键字中心点横向偏移量。只能传入数字，可支持小数，正数代表向右偏移，负数代表向左偏移。
     */
    private String keywordOffsetX;
    /**
     * 关键字中心点纵向偏移量。只能传入数字，可支持小数，正数代表向上偏移，负数代表向下偏移。
     */
    private String keywordOffsetY;


}
